package com.lwd.bean;

import com.lwd.bean.base.Table32Model;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.ArrayList;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
public class TradeModel extends Table32Model {

    private static final long serialVersionUID = 8352505220705544529L;
    /**
     * 交易编号
     */
    private Long tradeId;
    /**
     * 买家nick
     */
    private String buyerNick;

    /**
     * 买家nick 唯一标识 非明文
     */
    private String buyerOpenUid;

    /**
     * 淘宝的交易超级时间
     */
    private Date tradeCreate;
    /**
     * 实际付款金额，含邮费
     */
    private String payment;
    /**
     * 系统优惠金额
     */
    private String discountFee;
    /**
     * 卖家手工调整金额
     */
    private String adjustFee;
    /**
     * trade状态
     */
    private String status;
    /**
     * 付款时间
     * 对于预售的订单：
     *    如果是计算付定金当天的绩效，payTime会被设置为付定金时间；
     *    如果是计算付尾款当天的绩效，payTime会被设置为付尾款时间；
     * 对于预售的，付定金未付尾款，订单关闭的订单：
     *    如果是计算订单关闭当天的绩效，payTime会被设置为endTime也就是订单关闭时间；
     *    如果是计算付定金当天的绩效，payTime会被设置为付定金时间；
     *    如果 订单关闭 与 付定金 在同一天，payTime会被设置为订单关闭时间；
     *
     *
     */
    private Date payTime;
    /**
     * 交易结束时间
     */
    private Date endTime;
    /**
     * 淘宝的交易修改时间
     */
    private Date tradeModified;
    /**
     * 商品金额（商品价格乘以数量的总金额）
     */
    private String totalFee;
    /**
     * 邮费
     */
    private String postFee;

    private String receivedPayment;

    private Integer sellerFlag;

    /**
     * 这个对应的其实是订单接口返回的type字段，因为用了老版的表结构字段名也用了老版的，来不及改了
     */
    private String codStatus;

    private Integer buyNum;

    private String token;

    /**
     * 分阶段付款的订单状态（例如万人团订单等），
     * 目前有三返回状态
     * FRONT_NOPAID_FINAL_NOPAID(定金未付尾款未付)，
     * FRONT_PAID_FINAL_NOPAID(定金已付尾款未付)，
     * FRONT_PAID_FINAL_PAID(定金和尾款都付)
     * 非预售订单改字段值为空
     */
    private String stepTradeStatus;/*预售订单状态*/
    /**
     * 分阶段付款的已付金额（万人团订单已付金额）
     */
    private String stepPaidFee;/*预售收到金额*/
    /**
     * 预售定金金额，这个不是淘宝返回的字段，是根据订单类型和预售状态推测出来的值，
     * 如果为预售订单，且预售状态为 FRONT_PAID_FINAL_NOPAID 则此时的stepPaidFee是定金金额，payTime是定金付款时间，记录下来
     * 如果漏了订单状态，没有拉取到付定金的状态，则此处定金金额为0，已经与吴琪轩确认过
     */
    private String stepPaidFrontFee;
    /**
     * 预售定金付款时间，不是淘宝接口字段，根据订单类型和状态推测出来的，同上
     */
    private Date stepPaidFrontTime;
    /**
     * 预售定金归属客服
     */
    private String stepPaidFrontBelongService;
    /**
     * 预售定金归属聊天
     */
    private String stepPaidFrontBelongChatId;


    private int orderFilterStatus;
}